<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org">
<TITLE>General server configuration</TITLE>
<META name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
<LINK rel="HOME" title="Abyss Web Server For Windows User's Guide" href="index.html">
<LINK rel="UP" title="Server Management" href="server.html">
<LINK rel="PREVIOUS" title="Server Statistics" href="serverstats.html">
<LINK rel="NEXT" title="SSL/TLS Certificates" href="ssl.html">
<LINK rel="STYLESHEET" type="text/css" href="stylesheet.css">
<META name="AppleIcon" content="icon.png">
<META name="AppleTitle" content="General server configuration">
<META name="Description" content="General server configuration">
<META name="AppleOrder" content="">
</HEAD>
<BODY class="SECT1" bgcolor="#FFFFFF" text="#000000">
<DIV class="NAVHEADER">
<TABLE summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<TR>
<TH colspan="3" align="center">Abyss Web Server For Windows User's Guide</TH>
</TR>
<TR>
<TD width="10%" align="left" valign="bottom"><A href="serverstats.html" accesskey="P">Prev</A></TD>
<TD width="80%" align="center" valign="bottom">Chapter 4. Server Management</TD>
<TD width="10%" align="right" valign="bottom"><A href="ssl.html" accesskey="N">Next</A></TD>
</TR>
</TABLE>
<HR align="left" width="100%"></DIV>
<DIV class="SECT1">
<H1 class="SECT1"><A name="SERVERGENERAL" id="SERVERGENERAL">General server configuration</A></H1>
<P>Open the console and select <B class="GUILABEL">Server Configuration</B> to display the general server configuration dialog.</P>
<P>The following subsections describe the server configuration options.</P>
<DIV class="SECT2">
<H2 class="SECT2"><A name="SERVER-PARAMETERS" id="SERVER-PARAMETERS">Parameters</A></H2>
<P>Select <B class="GUILABEL">Parameters</B> in the <B class="GUILABEL">Server Configuration</B> dialog to display the server parameters dialog.</P>
<P>The dialog includes the following fields:</P>
<UL>
<LI>
<P><A name="SERVER-PARAMETERS-ROOT" id="SERVER-PARAMETERS-ROOT"></A> <B class="GUILABEL">Server Root</B>: The root path of the web server. By default, it is the directory where Abyss Web Server executable is installed. It is used as the base path for all relative real paths in the configuration.</P>
</LI>
<LI>
<P><A name="SERVER-PARAMETERS-TIMEOUT" id="SERVER-PARAMETERS-TIMEOUT"></A> <B class="GUILABEL">Timeout</B>: How many seconds the server waits for an inactive connection before closing it.</P>
</LI>
<LI>
<P><A name="SERVER-PARAMETERS-KEEPALIVE" id="SERVER-PARAMETERS-KEEPALIVE"></A> <B class="GUILABEL">Keep-Alive Requests</B>: The maximum number of requests that can be served over the same connection. Only HTTP/1.1 and some HTTP/1.0 compliant browsers can benefit from this feature.</P>
</LI>
<LI>
<P><A name="SERVER-PARAMETERS-MAXCONN" id="SERVER-PARAMETERS-MAXCONN"></A> <B class="GUILABEL">Maximum Simultaneous Requests</B>: The maximum number of requests the server can serve in parallel.</P>
</LI>
</UL>
</DIV>
<DIV class="SECT2">
<H2 class="SECT2"><A name="SERVER-MIMETYPES" id="SERVER-MIMETYPES">MIME Types</A></H2>
<P>When the server sends a document to a browser, it also sends its MIME type. This information helps the browser to know what kind of file it is (HTML, ZIP, JPEG image, etc&hellip;) and what to do with it (display it, save it on the disk, launch a configured application to read it, etc&hellip;). Abyss Web Server comes with a preset list of common MIME types. To modify this list, select <B class="GUILABEL">MIME Types</B> in the server configuration menu.</P>
<P>Use the displayed table to edit, remove or add MIME types. A MIME Type has the format <KBD class="USERINPUT">type/subtype</KBD> and is associated to one or more extensions separated by spaces.</P>
<DIV class="EXAMPLE"><A name="AEN642" id="AEN642"></A>
<P><B>Example 4-1. The text/html MIME type</B></P>
<P>HTML files have <KBD class="USERINPUT">text/html</KBD> as MIME type. By default, <KBD class="USERINPUT">text/html</KBD> is associated to extensions <KBD class="USERINPUT">html</KBD> and <KBD class="USERINPUT">htm</KBD>. As a consequence, when the server sends to a browser a document which extension is <KBD class="USERINPUT">html</KBD> or <KBD class="USERINPUT">htm</KBD>, it will also set the document's MIME type to <KBD class="USERINPUT">text/html</KBD>.</P>
</DIV>
</DIV>
<DIV class="SECT2">
<H2 class="SECT2"><A name="SERVER-THROTTLE" id="SERVER-THROTTLE">Global Bandwidth Limits</A></H2>
<P>Abyss Web Server gives you complete control over the bandwidth the server uses when answering to requests. Select <B class="GUILABEL">Global Bandwidth Limits</B> in the <B class="GUILABEL">Server Configuration</B> dialog to display the global bandwidth parameters dialog. For finer bandwidth settings, you should use <B class="GUILABEL">Bandwidth Limits</B> in every host configuration menu.</P>
<P>The dialog contains the following fields:</P>
<UL>
<LI>
<P><A name="SERVER-THROTTLE-MAXSPEED" id="SERVER-THROTTLE-MAXSPEED"></A> <B class="GUILABEL">Maximum Total Bandwidth</B>: The amount of output bandwidth that the server should not exceed for all the connections. If empty or set to 0, it is considered as unlimited.</P>
</LI>
<LI>
<P><A name="SERVER-THROTTLE-MAXSPEEDPERIP" id="SERVER-THROTTLE-MAXSPEEDPERIP"></A> <B class="GUILABEL">Maximum Bandwidth Per IP Address</B>: The total amount of output bandwidth that the server should not exceed for all the connections made by a single IP address. If empty or set to <KBD class="USERINPUT">0</KBD>, it is considered as unlimited.</P>
</LI>
</UL>
<DIV class="NOTE">
<BLOCKQUOTE class="NOTE">
<P><B>Note:</B> Abyss Web Server does always its best to deliver data to clients while respecting the restrictions set on the bandwidth. For example, assume that <B class="GUILABEL">Maximum Total Bandwidth</B> is set to <KBD class="USERINPUT">10</KBD> KB/s and <B class="GUILABEL">Maximum Bandwidth Per IP Address</B> to <KBD class="USERINPUT">4</KBD> KB/s. If there are 2 clients connecting from different IP addresses, the server allocates to each of them a bandwidth of <KBD class="USERINPUT">4</KBD> KB/s. But if there are 5 clients, the server will allocate to each of them only <KBD class="USERINPUT">2</KBD> KB/s.</P>
</BLOCKQUOTE>
</DIV>
</DIV>
<DIV class="SECT2">
<H2 class="SECT2"><A name="SERVER-ANTIHACK" id="SERVER-ANTIHACK">Anti-Hacking Protection</A></H2>
<P>Although Abyss Web Server is secure and has an integrated system to prevent malicious accesses to the server, it was equipped with an automatic <SPAN class="emphasis"><I class="EMPHASIS">anti-hacking protection</I></SPAN> system to detect clients that are trying to attack the server and to ban them. This system improves the overall security, detects at an early stage <SPAN class="emphasis"><I class="EMPHASIS">denial of service</I></SPAN> attacks, and saves the bandwidth that could be wasted during attacks.</P>
<P>To configure the anti-hacking system, select <B class="GUILABEL">Anti-Hacking Protection</B> in the <B class="GUILABEL">Server Configuration</B> dialog.</P>
<P>The displayed dialog is made of the following items:</P>
<UL>
<LI>
<P><A name="SERVER-ANTIHACK-ENABLED" id="SERVER-ANTIHACK-ENABLED"></A> <B class="GUILABEL">Enable Automatic Anti-Hacking Protection</B>: Check it to enable the automatic anti-hacking protection system.</P>
</LI>
<LI>
<P><A name="SERVER-ANTIHACK-DENIEDIPS" id="SERVER-ANTIHACK-DENIEDIPS"></A> <B class="GUILABEL">Do not Monitor Requests from</B>: This table contains the IP addresses or IP address ranges that should not be protected against hacking. Refer to "<A href="ipformat.html">IP Addresses and Ranges Format</A>" appendix for more information about the IP addresses and ranges. Fill this table with trusted IP addresses only.</P>
</LI>
<LI>
<P><A name="SERVER-ANTIHACK-THRESHOLD" id="SERVER-ANTIHACK-THRESHOLD"></A> <B class="GUILABEL">Bad Requests Count Before Banning</B>: The number of tolerated bad requests before considering the client as attempting to hack the server. A request that results in a reply which HTTP status code is 400 or 401 is counted as a bad request. A request that results in a reply which HTTP status code is 403, 404, 405, or 408 is counted as half a bad request.</P>
</LI>
<LI>
<P><A name="SERVER-ANTIHACK-MONITORPERIOD" id="SERVER-ANTIHACK-MONITORPERIOD"></A> <B class="GUILABEL">Monitoring Period</B>: The server considers only the bad requests that are generated by a client during the last <B class="GUILABEL">Monitoring Period</B> to decide whether to ban it or not. The bigger this parameter is, the more memory the anti-hacking system needs to record all the bad requests.</P>
</LI>
<LI>
<P><A name="SERVER-ANTIHACK-BANPERIOD" id="SERVER-ANTIHACK-BANPERIOD"></A> <B class="GUILABEL">Banning Duration</B>: How much time a client is banned when it is considered as hacking the server.</P>
</LI>
</UL>
<P>In other words, the anti-hacking system works as follows: If a client has generated <B class="GUILABEL">Bad Requests Count Before Banning</B> bad requests during the last <B class="GUILABEL">Monitoring Period</B> seconds, then ban it for the next <B class="GUILABEL">Banning Duration</B> seconds. When a client is banned, the server will not accept connections from it.</P>
<DIV class="NOTE">
<BLOCKQUOTE class="NOTE">
<P><B>Note:</B> The server preserves the list of banned clients when it is shutdown. So if a client was banned for 2 hours at 10:00, and if the server was stopped at 10:15 and restarted at 11:00, the server will continue to not accept requests from the banned client until 12:00.</P>
</BLOCKQUOTE>
</DIV>
</DIV>
</DIV>
<DIV class="NAVFOOTER">
<HR align="left" width="100%">
<TABLE summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<TR>
<TD width="33%" align="left" valign="top"><A href="serverstats.html" accesskey="P">Prev</A></TD>
<TD width="34%" align="center" valign="top"><A href="index.html" accesskey="H">Home</A></TD>
<TD width="33%" align="right" valign="top"><A href="ssl.html" accesskey="N">Next</A></TD>
</TR>
<TR>
<TD width="33%" align="left" valign="top">Server Statistics</TD>
<TD width="34%" align="center" valign="top"><A href="server.html" accesskey="U">Up</A></TD>
<TD width="33%" align="right" valign="top">SSL/TLS Certificates</TD>
</TR>
</TABLE>
</DIV>
<DIV class="COPYRIGHT">Copyright &copy; 2001-2009 Aprelium</DIV>
</BODY>
</HTML>
